/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	SceneSector
*
*	Description -	The scene is composed of scene sectors. The scene sectors contains
*					the actuall bread and butter of the scene class.
*
*	Comments	-	TODO: Inherit this from ResourcePool(ResourcePoolItem)
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	16/03/2013	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_SCENE_SECTOR_H_
#define _PSX_SCENE_SECTOR_H_

#include "PulseSTD.h"
#include "IComponent.h"

namespace Pulse
{
	// Used to get sector neighbors 
	PSX_EnumBegin( ESectorNeighbor )
		FRONT,
		RIGHT,
		BACK,
		LEFT,
		UP,
		BOTTOM,
	PSX_EnumEnd()

	struct SectorNeighborInfo
	{
	public:

		String m_fileName; // If the string is empty, neightbor is not available.

	};

	class SceneSector
	{
	public:

		SceneSector( Actor *pOwner );

		~SceneSector( void );

		EErrorCode::Type Initialize( XMLElementPtr pElem );

	private:

		SceneSector *m_pNeighbors[ESectorNeighbor::EnumCount];

	};
}

#endif /* _PSX_SCENE_SECTOR_H_ */